namespace go publish
include "../cmd/video/video.thrift"

struct PublishActionRequest {
    1: required string token, //鉴权
    2: required binary data,  //数据
    3: required string title, //标题
}

struct PublishActionResponse {
    1: required i32 status_code,  //状态码
    2: optional string status_msg,  //描述
}

struct PublishListRequest {
    1: required i64 user_id,   // 用户ID
    2: required string token,  // 鉴权
}

struct PublishListResponse {
    1: required i32 status_code,  // 状态码
    2: optional string status_msg,  // 描述
    3: required list<video.Video> video_list,  // 用户发布视频列表
}

service PublishService {
    PublishActionResponse PublishAction(1:required PublishActionRequest request),  // 发布视频操作
    PublishListResponse PublishList(1:required PublishListRequest request),  // 获取用户已发布视频的列表
}